//获取应用实例
const App = getApp()
import { HomeModel } from '../../../models/home.js'
const ModelHome = new HomeModel()
import { AppModel } from '../../../models/app.js'
const ModelApp = new AppModel()

Page({
  data: {
    isLogined: true,
    bossid: '',
    type: '1', // 专场类型 	选择活动或者预告（“1”：活动中，其他为预告）
    pageIndex: 1,
    pageSize: 10,
    loading: false,
    hasNext: true,
    specialList: [],
    now: null,
    award: 1,
    wheelVisible: false,
    disabled: false,
    goldVisible: false,
    sign: false,
    signSuccess: false,
    shareVisible: false,
    selfSign: null,
    signTimes: 0,
    integral: 0,
    statusBarHeight: App.globalData.statusBarHeight,
    isTabbar:false
  },
  onLoad: function(options) {
    console.log('======================share onLoad=========================')
    // 页面分享进入
    let _this = this
    this.data.bossid = options.bossid // 分享人id
    // 存储bossid
    wx.setStorageSync('bossid', this.data.bossid)
    // 显示当前页面的转发按钮
    wx.showShareMenu({
      // 是否使用带 shareTicket 的转发
      withShareTicket: true
    })
    // 用户信息
    this.init()
    // 隐藏右上角分享功能
    wx.hideShareMenu()
  },
  onShow() {
    //获取当前时间，控制显示专场
    this.setData({
      now: Date.now()
    })
  },
  // 登陆成功，由login组件触发
  loginSuccess() {
    this.setData({
      isLogined: true
    })
    // 获取专场列表
    this.getBannerList()
    // 查询签到
    this.querySevenSign()
  },

  // 抽奖完成
  wheelSuccess() {
    console.log('loginSuccess')
    const _this = this
    console.log(this.data.award) // 6~1 ,5~2, 4~3,3~4,2~5,1~6
    ModelApp.signWheel({ serial: 7 - this.data.award })
      .then(res => {
        wx.showToast({ title: `恭喜你获得${res.data.gold}金币`, icon: 'none' })
        // 转过了不让转了
        _this.setData({
          disabled: true
        })
      })
      .catch(err => {})
  },
  // 关闭金币
  closeGlod() {
    this.setData({
      goldVisible: false,
      wheelVisible: true
    })
  },
  // 打开大装盘
  openWheel() {
    // 不是第七天就不给显示
    if (this.data.signTimes != 7) {
      return
    }
    this.setData({
      wheelVisible: true
    })
  },
  // 关闭分享
  // openShare() {
  //   this.setData({
  //     shareVisible: true
  //   })
  // },
  // 关闭分享
  closeShare() {
    this.setData({
      shareVisible: false
    })
  },
  // 关闭大转盘
  closeWheel() {
    this.setData({
      wheelVisible: false
    })
  },
  // 用户登录
  init() {
    const _this = this
    App.getVipInfo(function(userInfo) {
      if (!userInfo) {
        console.log('没有token,获取用户信息失败')
        _this.setData({
          isLogined: false
        })
      } else {
        // 获取专场列表
        _this.getBannerList()
        // 查询签到
        _this.querySevenSign()
      }
    })
  },

    //获取轮播列表
  getBannerList() {
    const self = this
    const params = {}
    ModelHome.queryCrazy()
      .then(res => {
        self.setData({
          minBanner: res.data.classList // 小轮播
        })
      })
      .catch(err => {})
  },
  // 查询签到状态
  querySevenSign() {
    const _this = this
    // if (_this.data.bossid && !App.globalData.shareTicket) {
    //   wx.showToast({
    //     title: '分享到群才可以领奖励哦~',
    //     icon: 'none'
    //   })
    // }
    ModelApp.querySevenSign()
      .then(res => {
        const activity = res.data.activity
        if (activity) {
          _this.setData({
            signTimes: activity.signTimes,
            integral: activity.integral,
            sign: !!res.data.sign, // 是否签到
            disabled: !!res.data.turn // 是否转过了
          })
        }
        // console.log('shareTicket====' + App.globalData.shareTicket)
        // 判断是不是在群里点击的, 如果是群里点进来的
        // if (App.globalData.shareTicket) {
        //   _this.shareSign()
        // } else {
        //   // 如过分享给个人
        //   if (_this.data.bossid) {
        //     wx.showToast({
        //       title: '分享到群才可以领奖励哦~',
        //       icon: 'none'
        //     })
        //   }
        // }
      })
      .catch(err => {
        console.log(err)
      })
  },
  doSign() {
    const _this = this
    console.log(_this.data.disabled)
    if (_this.data.sign && _this.data.signTimes != 7) {
      wx.showToast({
        title: '今日已签到过了哦~',
        icon: 'none'
      })
      return
    } else if (_this.data.disabled && _this.data.signTimes == 7) {
      wx.showToast({
        title: '今日已签到过了哦~',
        icon: 'none'
      })
      return
    }
    let params = {
      activityCode: '007', // 活动代号,圣诞
      sign: '2' // 链接标识 1 别人的 2 自己的
    }
    ModelApp.sevenSign(params)
      .then(res => {
        const activity = res.data.activity
        if (activity) {
          _this.setData({
            signTimes: activity.signTimes,
            integral: activity.integral,
            disabled: !!res.data.turn
          })
          // 如果是第七天,弹出转盘,并且没有转过  0 今天没转 1 今天转了
          if (activity.signTimes == 7 && res.data.turn == 0) {
            _this.setData({
              // 如果已经转过转盘了，传给组件值已经转过了
              award: Math.floor(Math.random() * 6 + 1) // 生成1到6随机
            })
            // if (res.data.sign == 1) {
            // 如果是自己那么直接弹出来,或者送过了,不是等送金币弹了再弹
            _this.setData({
              wheelVisible: true
            })
            // }
          }
          if (res.data.sign == undefined) {
            // 成功后变成已领取
            _this.setData({
              sign: true
            })
            // 第七天不弹出签到
            if (activity.signTimes != 7) {
              _this.setData({
                signSuccess: true
              })
            }
          }
        }
      })
      .catch(err => {
        console.log(err)
      })
  },
  // 群里点击后签到
  shareSign() {
    const userCode = App.globalData.userInfo.userCode
    const _this = this
    let params = {
      activityCode: '007', // 活动代号,圣诞
      sign: this.data.bossid == userCode ? '2' : '1' // 链接标识 1 别人的 2 自己的
    }
    console.log(params)
    console.log('访问签到接口sevenSign')
    ModelApp.sevenSign(params)
      .then(res => {
        const activity = res.data.activity
        console.log('activity====' + activity)
        // 如果是首次点击别人的,activity是null，存在则是自己签过
        // 如过是点别人的不更新,签到数据，因为后台有问题
        if (activity && params.sign == 2) {
          _this.setData({
            signTimes: activity.signTimes,
            integral: activity.integral,
            //   sign: !!res.data.sign && params.sign == 2, //
            disabled: !!res.data.turn
          })
          // 如果是第七天,弹出转盘,并且没有转过  0 今天没转 1 今天转了
          if (activity.signTimes == 7 && res.data.turn == 0) {
            _this.setData({
              // 如果已经转过转盘了，传给组件值已经转过了
              award: Math.floor(Math.random() * 6 + 1) // 生成1到6随机
            })
            if (params.sign == 2 || res.data.sign == 1) {
              // 如果是自己那么直接弹出来,或者送过了,不是等送金币弹了再弹
              _this.setData({
                wheelVisible: true
              })
            }
          }
        }

        console.log('sign' + res.data.sign)
        // 用户没有领取金币或者签到
        //    if (res.data.sign == undefined) {
        // 如果点击是自己分享的链接
        if (params.sign == 2) {
          // 如果没有签到过
          if (res.data.sign == undefined) {
            // 成功后变成已领取
            _this.setData({
              sign: true
            })
            // 第七天不弹出签到
            if (activity.signTimes != 7) {
              _this.setData({
                signSuccess: true
              })
            }
          }
        } else {
          // 如果点击是别人分享的链接
          // 如果已经领取了金币
          console.log('点击是别人分享的链接_this.data.sign' + _this.data.sign)
          // 如果已经领取过金币
          if (res.data.sign) {
            // 如果已经签到
            if (_this.data.sign) {
              wx.showToast({
                title: '今日已领取~',
                icon: 'none'
              })
            } else {
              // 如果没有签到
              wx.showToast({
                title: '去分享领更多金币吧~',
                icon: 'none'
              })
            }
          } else {
            _this.setData({
              goldVisible: true
            })
          }
        }
        // } else {
        //   // 如果已经领取或签到
        //   // 如果是点击别人并且已经签到过
        //   if (params.sign == 1) {
        //     wx.showToast({
        //       title: '今日已领取',
        //       icon: 'success'
        //     })
        //   }
        // }
      })
      .catch(err => {
        console.log(err)
      })
    // 获取当分享人的this.data.bossid
    // 获取当前登录人的id
    console.log(this.data.bossid)
  },
  // 去活动页面
  tapToActivity(event) {
    const specialCode = event.currentTarget.dataset.scode
    wx.navigateTo({
      url: `/pages/activity/index?scode=${specialCode}`
    })
  },

  // 去活动页面
  goHome() {
    // 去首页要清空shareTicket
    App.globalData.shareTicket = null
    wx.reLaunch({
      url: `/pages/home/index`
    })
  },
  onPullDownRefresh() {
    wx.stopPullDownRefresh();
  },
  /**
* 用户点击右上角分享
*/
  onShareAppMessage: function(ops) {
    let _this = this
    const ucode = App.globalData.userInfo.userCode
    return {
      title: `【${decodeURIComponent(App.globalData.userInfo.nickName)}】来不及了！快帮忙助力，你也可以领大奖哦 ↓↓↓`,
      path: `/pages/marketing/shareSign/index?bossid=${ucode}`
    }
  }
})
